import { Component, OnInit, ViewChild } from "@angular/core";
import { JsonApiService } from "app/core/api/json-api.service"; //http请求配置引入
import { config } from "../../shared/smartadmin.config";

declare var $: any;
@Component({
  selector: "sa-huaxin-weighbridge",
  templateUrl: "./huaxin-weighbridge.component.html",
  styleUrls: ["./huaxin-weighbridge.component.css"],
})
export class HuaxinWeighbridgeComponent implements OnInit {
  tableData: any[] = []; //table数据
  totalCount: number = 0; //分页总条数
  curPage: number = 1; //分页当前页
  pageSize: number = 10; //内置的分页每页条数
  searchKey: string = ""; //搜索keyword
  deviceId: string = ""; //设备ID
  startTime: string = ""; //开始时间
  endTime: string = ""; //结束时间
  carNumber: string = ""; //车牌号码
  selectedCompanyId: string = "";
  selectedCompanyName: string = "";

  constructor(private jsonApiService: JsonApiService) { }

  ngOnInit() {
    this.initDate().then(() => this.load());
  }
  //公司选中回调
  companySelected(data) {
    this.selectedCompanyId = data.companyId;
    this.selectedCompanyName = data.companyName;
    this.deviceId = data.deviceId;
    this.carNumber = data.carNumber;
  }
  ngOnDestroy() {
    document.onclick = null;
  }
  //刷新
  refresh() {
    this.load();
  }
  //数据的导出
  export_totle() {
    this.startTime = $("#datetimepicker1").val();
    this.endTime = $("#datetimepicker2").val();
    let timeCheck = common.correctTimeParams(this.startTime, this.endTime, 0);
    if (this.startTime == "" || this.endTime == "") {
      this.jsonApiService.message("起始结束时间不能为空");
      return;
    }
    if (!timeCheck.status) {
      this.jsonApiService.message(timeCheck.message);
      return;
    }
    let reqdata: any = {
      pageSize: this.pageSize,
      nowPage: this.curPage,
      parameters: {
        companyId: this.selectedCompanyId,
        carNumber: this.carNumber,
        startTime: this.startTime,
        endTime: this.endTime,
        deviceId: this.deviceId,
        export: true
      },
    };

    common.exprotDataFile(reqdata, 'gridPager', config.BaseURL + 'dataWeighBridgeSystem/pageDataWeighBridgeSystem.html')
  }
  getTime(date) {
    var year = date.getFullYear();
    var month =
      date.getMonth() + 1 < 10
        ? "0" + (date.getMonth() + 1)
        : date.getMonth() + 1;
    var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

    return year + "-" + month + "-" + day;
  }
  initDate() {
    var that = this;
    return new Promise(function (resolve, reject) {
      System.import(
        "assets/js/datepicker/js/bootstrap-datetimepicker.min.js"
      ).then(() => {
        System.import(
          "assets/js/datepicker/locales/bootstrap-datetimepicker.zh-CN.js"
        ).then(() => {
          $("#datetimepicker1")
            .datetimepicker({
              //时间插件
              format: "yyyy-mm-dd",
              language: "zh-CN",
              autoclose: true,
              minView: 2,
            })
            .on("changeDate", function (e) {
              var date = e.date;
              var time = that.getTime(date);
              $("#datetimepicker2").datetimepicker("setStartDate", time);
            });
          $("#datetimepicker2")
            .datetimepicker({
              //时间插件
              format: "yyyy-mm-dd",
              language: "zh-CN",
              autoclose: true,
              minView: 2,
            })
            .on("changeDate", function (e) {
              var date = e.date;
              var time = that.getTime(date);
              $("#datetimepicker1").datetimepicker("setEndDate", time);
            });
          $("#uploadDate").on("changeDate", function (e) {
            $("#rowDataForm").data("bootstrapValidator").resetForm();
          });
          common.initDatePicker('#uploadDate', 0);
          var date = new Date();
          $("#datetimepicker2").val(that.getTime(date)); //当前时间
          date.setDate(date.getDate() - 7); //设置前一周
          $("#datetimepicker1").val(that.getTime(date));
          resolve();
        });
      });
    });
  }
  //查询
  search_data() {
    this.load();
  }
  //初始化加载list数据
  load() {
    this.startTime = $("#datetimepicker1").val();
    this.endTime = $("#datetimepicker2").val();
    let timeCheck = common.correctTimeParams(this.startTime, this.endTime, 0);
    if (this.startTime == "" || this.endTime == "") {
      this.jsonApiService.message("起始结束时间不能为空");
      return;
    }
    if (!timeCheck.status) {
      this.jsonApiService.message(timeCheck.message);
      return;
    }
    let reqdata: any = {
      pageSize: this.pageSize,
      nowPage: this.curPage,
      parameters: {
        companyId: this.selectedCompanyId,
        carNumber: this.carNumber,
        startTime: this.startTime,
        endTime: this.endTime,
        deviceId: this.deviceId,
      },
    };
    reqdata = "gridPager=" + JSON.stringify(reqdata);
    this.jsonApiService
      .http("dataWeighBridgeSystem/pageDataWeighBridgeSystem.html", reqdata)
      .subscribe((data) => {
        this.tableData = data.exhibitDatas;
        this.totalCount = data.recordCount;
      });
  }
  //删除所选时间
  del_date() {
    this.startTime = "";
    this.endTime = "";
    $("#datetimepicker1").val("").change();
    $("#datetimepicker2").val("").change();
    $("#datetimepicker2").datetimepicker("setStartDate", null);
    $("#datetimepicker1").datetimepicker("setEndDate", null);
  }
  //分页回调
  paginate(e) {
    this.curPage = e.page + 1;
    this.pageSize = e.rows;
    this.load();
  }
}
